package com.edu.hre.common.utils;

import java.util.ArrayList;
import java.util.List;

import org.apache.struts.util.LabelValueBean;

import com.edu.hre.db.pojo.HreCurrencyType;
import com.edu.hre.db.pojo.HreCustomer;
import com.edu.hre.db.pojo.HreDistrict;
import com.edu.hre.db.pojo.HreEducation;
import com.edu.hre.db.pojo.HreEmpReportingMethod;
import com.edu.hre.db.pojo.HreEmpTerminationReason;
import com.edu.hre.db.pojo.HreEmployee;
import com.edu.hre.db.pojo.HreEmploymentStatus;
import com.edu.hre.db.pojo.HreJobCandidate;
import com.edu.hre.db.pojo.HreJobCategory;
import com.edu.hre.db.pojo.HreJobTitle;
import com.edu.hre.db.pojo.HreJobVacancy;
import com.edu.hre.db.pojo.HreLanguage;
import com.edu.hre.db.pojo.HreLicense;
import com.edu.hre.db.pojo.HreLocation;
import com.edu.hre.db.pojo.HreMajor;
import com.edu.hre.db.pojo.HreNationality;
import com.edu.hre.db.pojo.HrePayGrade;
import com.edu.hre.db.pojo.HrePayPeriodType;
import com.edu.hre.db.pojo.HreProvince;
import com.edu.hre.db.pojo.HreSkill;
import com.edu.hre.db.pojo.HreSubunit;
import com.edu.hre.db.pojo.HreUserRole;
import com.edu.hre.db.service.BaseService;
import com.edu.hre.db.utils.Compare;

public class ComboBoxInit {
	
	private static final BaseService baseService = BeanFinder.getBean(BaseService.BEAN_NAME, BaseService.class);

	public static List<LabelValueBean> getAllEmployees (boolean hasDefault) {
		List<HreEmployee> result = baseService.getPojos("isDeleted", Compare.EQUAL, false, null, null, -1, 0, HreEmployee.class);
		List<LabelValueBean> listEmployees = new ArrayList<LabelValueBean>();

		if (result == null) {
			return listEmployees;
		}

		for (HreEmployee emp: result) {
			
			listEmployees.add(new LabelValueBean(
					CommonUtils.normalizeString(emp.getEmpLastname()) + " " 
					+ CommonUtils.normalizeString(emp.getEmpMiddleName()) + " " 
					+ CommonUtils.normalizeString(emp.getEmpFirstname()
					+ " [" +  CommonUtils.normalizeString(emp.getMainUsername()) + "]"), emp.getEmpNumber() + ""));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listEmployees.add(0, defaultEle);
		}

		return listEmployees;
	}
	
	public static List<LabelValueBean> getAllProvinces (boolean hasDefault) {
		List<HreProvince> listProvince = baseService.getPojos(null, -1, null, null, null, -1, 0, HreProvince.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listProvince == null) {
			return listResult;
		}
		
		for (HreProvince pro: listProvince) {
			listResult.add(new LabelValueBean(pro.getProvinceVnName(), pro.getProvinceCode()));
		}
		
		if (hasDefault) {
			LabelValueBean defaultProvince = new LabelValueBean(" -- Select -- ", "All");
			listResult.add(0, defaultProvince);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllDistricts (boolean hasDefault) {
		List<HreDistrict> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HreDistrict.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreDistrict dis: listHre) {
			listResult.add(new LabelValueBean(dis.getDistrictType() + " " + dis.getDistrictName(), dis.getDistrictCode()));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "All");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllCurrencies (boolean hasDefault) {
		List<HreCurrencyType> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HreCurrencyType.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreCurrencyType cur: listHre) {
			listResult.add(new LabelValueBean(cur.getCurrencyId(), cur.getCurrencyId()));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllCustomers (boolean hasDefault) {
		List<HreCustomer> listHre = baseService.getPojos("isDeleted", Compare.EQUAL, false, null, null, 100, 0, HreCustomer.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreCustomer cus: listHre) {
			listResult.add(new LabelValueBean(cus.getName(), cus.getCustomerId() + ""));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllUserRoles (boolean assignable, boolean hasDefault) {
		
		List<HreUserRole> listHre = null;
		
		if (assignable) {
			listHre = baseService.getPojos("isAssignable", Compare.EQUAL, true, null, null, -1, 0, HreUserRole.class);
		} else {
			listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HreUserRole.class);
		}
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreUserRole role: listHre) {
			listResult.add(new LabelValueBean(role.getDisplayName(), role.getId() + ""));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllEducations (boolean hasDefault) {
		
		List<HreEducation> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HreEducation.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreEducation edu: listHre) {
			listResult.add(new LabelValueBean(edu.getName(), edu.getId() + ""));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllJobTitles (boolean hasDefault) {
		
		List<HreJobTitle> listHre = baseService.getPojos("isDeleted", Compare.EQUAL, false, null, null, -1, 0, HreJobTitle.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}

		for (HreJobTitle tit: listHre) {
			listResult.add(new LabelValueBean(tit.getJobTitle(), tit.getId() + ""));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}

	public static List<LabelValueBean> getAllEmploymentStatuses (boolean hasDefault) {
	
		List<HreEmploymentStatus> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HreEmploymentStatus.class);
	
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreEmploymentStatus sta: listHre) {
			listResult.add(new LabelValueBean(sta.getName(), sta.getId() + ""));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}

	public static List<LabelValueBean> getAllJobCategories (boolean hasDefault) {
		
		List<HreJobCategory> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HreJobCategory.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreJobCategory cat: listHre) {
			listResult.add(new LabelValueBean(cat.getName(), cat.getId() + ""));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}

	public static List<LabelValueBean> getAllSubUnits (boolean hasDefault) {
		
		List<HreSubunit> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HreSubunit.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreSubunit uni: listHre) {
			listResult.add(new LabelValueBean(uni.getName(), uni.getId() + ""));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}

	public static List<LabelValueBean> getAllLocations (boolean hasDefault) {
		
		List<HreLocation> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HreLocation.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreLocation loc: listHre) {
			listResult.add(new LabelValueBean(loc.getName(), loc.getId() + ""));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllTerminationReasons (boolean hasDefault) {
		
		List<HreEmpTerminationReason> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HreEmpTerminationReason.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreEmpTerminationReason rea: listHre) {
			listResult.add(new LabelValueBean(rea.getName(), rea.getId() + ""));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllLanguages (boolean hasDefault) {
		
		List<HreLanguage> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HreLanguage.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreLanguage lang: listHre) {
			listResult.add(new LabelValueBean(lang.getName(), lang.getId() + ""));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllLicenses (boolean hasDefault) {
		
		List<HreLicense> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HreLicense.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreLicense lice: listHre) {
			listResult.add(new LabelValueBean(lice.getName(), lice.getId() + ""));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllPayFrequencies (boolean hasDefault) {
		
		List<HrePayPeriodType> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HrePayPeriodType.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HrePayPeriodType per: listHre) {
			listResult.add(new LabelValueBean(per.getPayperiodName(), per.getPayperiodCode()));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}

	public static List<LabelValueBean> getAllPayGrades (boolean hasDefault) {
		
		List<HrePayGrade> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HrePayGrade.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HrePayGrade pay: listHre) {
			
			String result = "[";
			result += String.format("%15.2f", pay.getMinSalary());
			result += " " + pay.getCurrencyId() + " - ";
			result += String.format("%15.2f", pay.getMaxSalary());
			result += " " + pay.getCurrencyId() + "]";

			listResult.add(new LabelValueBean(pay.getName() + " - " + result, pay.getId() + StringConstants.BLANK));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllSkills (boolean hasDefault) {
		
		List<HreSkill> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HreSkill.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreSkill skill: listHre) {
			listResult.add(new LabelValueBean(skill.getName(), skill.getId() + ""));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllReportingMethods (boolean hasDefault) {
		
		List<HreEmpReportingMethod> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HreEmpReportingMethod.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreEmpReportingMethod method: listHre) {
			listResult.add(new LabelValueBean(method.getReportingMethodName(), method.getReportingMethodId() + ""));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllNationalities (boolean hasDefault) {
		
		List<HreNationality> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HreNationality.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreNationality nat: listHre) {
			listResult.add(new LabelValueBean(nat.getName(), nat.getId() + ""));
		}
		
		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllMajors (boolean hasDefault) {
		
		List<HreMajor> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HreMajor.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreMajor nat: listHre) {
			listResult.add(new LabelValueBean(nat.getName(), nat.getId() + ""));
		}

		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllCandidates (boolean hasDefault) {
		
		List<HreJobCandidate> listHre = baseService.getPojos("isDeleted", Compare.EQUAL, false, null, null, -1, 0, HreJobCandidate.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreJobCandidate can: listHre) {
			listResult.add(new LabelValueBean(can.getLastName() + " " + can.getMiddleName() + " " + can.getFirstName() + " [" + can.getId() + "]", can.getId() + ""));
		}

		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllVacancies (boolean hasDefault) {
		
		List<HreJobVacancy> listHre = baseService.getPojos(null, -1, null, null, null, -1, 0, HreJobVacancy.class);
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		if (listHre == null) {
			return listResult;
		}
		
		for (HreJobVacancy vac: listHre) {
			listResult.add(new LabelValueBean(vac.getName(), vac.getId() + ""));
		}

		if (hasDefault) {
			LabelValueBean defaultEle = new LabelValueBean(" -- Select -- ", "0");
			listResult.add(0, defaultEle);
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllEnabledStatuses (boolean hasDefault) {
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		listResult.add(new LabelValueBean("Enabled", "1"));
		listResult.add(new LabelValueBean("Disabled", "0"));
		
		if (hasDefault) {
			listResult.add(0, new LabelValueBean("-- All --", "2"));
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllDependentRelationships (boolean hasDefault) {
		
		List<LabelValueBean> listResult = new ArrayList<LabelValueBean>();
		listResult.add(new LabelValueBean("Child", "0"));
		listResult.add(new LabelValueBean("Other", "1"));
		
		if (hasDefault) {
			listResult.add(0, new LabelValueBean("-- All --", "2"));
		}
		
		return listResult;
	}
	
	public static List<LabelValueBean> getAllLanguageFluencies (boolean hasDefault) {
		
		List<LabelValueBean> allFluencies = new ArrayList<LabelValueBean>();
		allFluencies.add(new LabelValueBean("Reading", "1"));
		allFluencies.add(new LabelValueBean("Speaking", "2"));
		allFluencies.add(new LabelValueBean("Writing", "3"));
		allFluencies.add(new LabelValueBean("Listening", "4"));
		
		if (hasDefault) {
			allFluencies.add(0, new LabelValueBean("-- Select --", "0"));
		}
		
		return allFluencies;
	}
	
	public static List<LabelValueBean> getAllLanguageCompetencies (boolean hasDefault) {
		
		List<LabelValueBean> allCompetencies = new ArrayList<LabelValueBean>();
		allCompetencies.add(new LabelValueBean("Fundamental", "1"));
		allCompetencies.add(new LabelValueBean("Pre-Intermediate", "2"));
		allCompetencies.add(new LabelValueBean("Intermediate", "3"));
		allCompetencies.add(new LabelValueBean("Upper-Intermediate", "4"));
		allCompetencies.add(new LabelValueBean("Advanced", "5"));
		
		if (hasDefault) {
			allCompetencies.add(0, new LabelValueBean("-- Select --", "0"));
		}
		
		return allCompetencies;
	}
	
	public static List<LabelValueBean> getAllIncludeType () {

		List<LabelValueBean> listInclude = new ArrayList<LabelValueBean>();
		listInclude.add(new LabelValueBean("Current Employees Only", "0"));
		listInclude.add(new LabelValueBean("Current and Past Employees", "1"));
		listInclude.add(new LabelValueBean("Past Employees Only", "2"));

		return listInclude;
	}
	
	public static List<LabelValueBean> getAllMaritalStatuses () {

		List<LabelValueBean> allMaritalStatuses = new ArrayList<LabelValueBean>();
		allMaritalStatuses.add(new LabelValueBean("Single", "SG"));
		allMaritalStatuses.add(new LabelValueBean("Married", "MR"));
		allMaritalStatuses.add(new LabelValueBean("Other", "OT"));

		return allMaritalStatuses;
	}
	
	public static List<LabelValueBean> getAllGenders (boolean hasDefault) {

		List<LabelValueBean> allGenders = new ArrayList<LabelValueBean>();
		if (hasDefault) {
			allGenders.add(new LabelValueBean("-- Select --", "0"));
		}
		allGenders.add(new LabelValueBean("Female", "1"));
		allGenders.add(new LabelValueBean("Male", "2"));

		return allGenders;
	}
	
	public static List<LabelValueBean> getAllActiveStatuses (boolean hasDefault) {

		List<LabelValueBean> statuses = new ArrayList<LabelValueBean>();
		statuses.add(new LabelValueBean("Active", "1"));
		statuses.add(new LabelValueBean("Not Active", "0"));
		
		if (hasDefault) {
			statuses.add(0, new LabelValueBean(" -- Select -- ", "2"));
		}

		return statuses;
	}
	
	public static List<LabelValueBean> getAllImportanceLevels (boolean hasDefault) {

		List<LabelValueBean> importanceLevels = new ArrayList<LabelValueBean>();
		importanceLevels.add(new LabelValueBean("* Required", "10"));
		importanceLevels.add(new LabelValueBean("High Advantage", "8"));
		importanceLevels.add(new LabelValueBean("Medium Advantage", "6"));
		importanceLevels.add(new LabelValueBean("Low Advantage", "4"));
		
		if (hasDefault) {
			importanceLevels.add(0, new LabelValueBean(" -- Select Option -- ", "0"));
		}

		return importanceLevels;
	}

	public static List<LabelValueBean> getAllAdvantageLevels (boolean hasDefault) {

		List<LabelValueBean> advantageLevels = new ArrayList<LabelValueBean>();
		advantageLevels.add(new LabelValueBean("High Advantage", "8"));
		advantageLevels.add(new LabelValueBean("Medium Advantage", "6"));
		advantageLevels.add(new LabelValueBean("Low Advantage", "4"));
		
		if (hasDefault) {
			advantageLevels.add(0, new LabelValueBean(" -- Select Option -- ", "0"));
		}

		return advantageLevels;
	}
	
	public static List<LabelValueBean> getAllInterviewStatuses (boolean hasDefault) {

		List<LabelValueBean> interviewStatuses = new ArrayList<LabelValueBean>();
		interviewStatuses.add(new LabelValueBean("Created", "1"));
		interviewStatuses.add(new LabelValueBean("Interviewed", "2"));
		interviewStatuses.add(new LabelValueBean("Closed", "3"));
		
		if (hasDefault) {
			interviewStatuses.add(0, new LabelValueBean(" -- Select Option -- ", "0"));
		}

		return interviewStatuses;
	}
	
	public static List<LabelValueBean> getAllInterviewResults (boolean hasDefault) {

		List<LabelValueBean> interviewResults = new ArrayList<LabelValueBean>();
		interviewResults.add(new LabelValueBean("Not Available", "1"));
		interviewResults.add(new LabelValueBean("Passed", "2"));
		interviewResults.add(new LabelValueBean("Not Passed", "3"));
		
		if (hasDefault) {
			interviewResults.add(0, new LabelValueBean(" -- Select Option -- ", "0"));
		}

		return interviewResults;
	}
	
	public static List<LabelValueBean> getAllMonths (boolean hasDefault) {

		List<LabelValueBean> interviewResults = new ArrayList<LabelValueBean>();
		interviewResults.add(new LabelValueBean("January", "1"));
		interviewResults.add(new LabelValueBean("February", "2"));
		interviewResults.add(new LabelValueBean("March", "3"));
		interviewResults.add(new LabelValueBean("April", "4"));
		interviewResults.add(new LabelValueBean("May", "5"));
		interviewResults.add(new LabelValueBean("June", "6"));
		interviewResults.add(new LabelValueBean("July", "7"));
		interviewResults.add(new LabelValueBean("August", "8"));
		interviewResults.add(new LabelValueBean("September", "9"));
		interviewResults.add(new LabelValueBean("October", "10"));
		interviewResults.add(new LabelValueBean("November", "11"));
		interviewResults.add(new LabelValueBean("December", "12"));
		
		if (hasDefault) {
			interviewResults.add(0, new LabelValueBean(" -- Select Option -- ", "0"));
		}

		return interviewResults;
	}
}
